// import resize from './resize'
import util from './util'

const width = util.isPhone() ? document.body.clientWidth : 360
const height = util.isPhone() ? window.innerHeight : 600

// 与时间有关的设置均为毫秒数，本文件底部会自动转化为帧数。
// 大多属性都设有默认值，都可以不用修改   一般只需要修改中文文字
// 所有的文字暂时都不支持换行，字数多的请自行分为多段话。

const config = (function () {
  return {
    // 整体宽高
    width: width, // ---不建议改动
    height: height, // ---不建议改动
    // canvas
    canvases: ['fall', 'bg', 'firework', 'fall'], // ---不建议改动
    // 飘落微粒产生间隔
    snowInterval: 60,
    heartInterval: 15,
    // 飘落微粒属性
    snow: {
      x: undefined,
      y: undefined,
      minSize: 5,
      maxSize: 10,
      size: undefined,
      speed: 0.5,
      opacity: 0.8
    },
    heart: {
      x: undefined,
      y: undefined,
      minSize: 5,
      maxSize: 5,
      size: undefined,
      speed: 1
    },
    // 飘落的类型('snow', 'heart', 'mix')
    fallType: 'snow',

    // 阶段一
    // 阶段二
    sunset: 3000, // 天黑时间

    // 阶段三
    fireworkInterval: [60, 240], // 烟花产生间隔 //---不建议改动
    // 烟花的属性
    fireworks: {
      x: undefined,
      y: height,
      xEnd: undefined,
      yEnd: undefined,
      size: 2,
      radius: [1, 2], // 烟花半径
      velocity: 3, // 速率
      opacity: 0.8,
      count: [150, 250], // 炸裂后粒子数
      wait: undefined, // 消失后 => 炸裂  等待时间
      color: undefined // 烟花颜色
    },
    fireWords: '我心底有|一片荒地|喜是|天晴|欢也|无雨|你是那|天地的神明', // '|' 为分隔符
    // hue:210 lightness 0
    skyColor: 'hsla({hue}, 60%, {lightness}%, 0.2)',
    fireOpt: {
      wordInterval: 3000 // 每段话出现的间隔时间
    },
    // 烟花字的参数
    shape: {
      gap: 2 // 粒子的间隔数 gap越大 粒子数越少
    },
    word: {
      size: 50,
      y: height / 4
    },

    // 阶段四
    titleWords: '我心底有|一片荒地|喜是天晴|欢也无雨|你是那|天地的神明', // '|' 为分隔符
    titleOpt: {
      gap: 4,
      size: 60, // 最后字的大小
      pSize: 8,
      delay: 4000, //
      distance: 80, // 行间距
      e: 5000 // 速率
    }
  }
})()

// ms => 帧

config.sunset = util.transTime(config.sunset, 600)

config.fireOpt.wordInterval = util.transTime(config.fireOpt.wordInterval, 180)
config.fireOpt.denseTime = util.transTime(config.fireOpt.denseTime, 600)

config.titleOpt.delay = util.transTime(config.titleOpt.delay, 240)

config.titleOpt.e = util.transTime(config.titleOpt.e, 240)

// resize(config.width, config.height, config.canvases)
export default config
